CSE240A Stride and Sequential Prefetcher
نویسنده
چکیده
Since processor becomes faster and faster and memory system improves less, the access time of memory system becomes significantly important. To narrow the gap between processor and memory system, a more clever way of utilizing cache are needed. In this project, I’m trying to design a small device and algorithm to prefetch blocks from lower level memory to L1 D-cache efficiently and correctly. This is component is one of the most important factors to speed up memory system. Because the next line cache prefetch mechanism can not often match the pattern of program, we need some instruction predicted method to guess which block of memory are going to be needed in the future. In this project, I combined and modified two basic prefetch designs. The first one is stream buffer from [1] and the second one is the stride prefetcher from [2]. The reason of combining these two designs is that they can conquer different kind of patterns separately. In a high spatial locality environment, stream buffer performs very well. For stride prefetcher, it can predict iterative pattern excellently. Combining these two designs can make my prefetcher become more powerful.
منابع مشابه
Efficient Prefetching with Hybrid Schemes and Use of Program Feedback to Adjust Prefetcher Aggressiveness
A set of hybrid and adaptive prefetching schemes are considered in this paper. The prefetchers are hybrid in that they use combinations of Stride, Sequential and C/DC prefetching mechanisms. The schemes are adaptive in that their aggressiveness is adjusted based on feedback metrics collected dynamically during program execution. Metrics such as prefetching accuracy and prefetching timeliness ar...
متن کاملA Hybrid Adaptive Feedback Based Prefetcher
We present a hybrid adaptive prefetching scheme in this paper. The scheme consists of a hybrid stride/sequential prefetching mechanism which adapts its aggressiveness based on feedback metrics collected dynamically during program execution. Metrics such as prefetching accuracy and prefetching lateness are used to adjust aggressiveness in terms of prefetch distance (how far ahead of the current ...
متن کاملAn Approach to Data Prefetching Using 2-Dimensional Selection Criteria
We propose an approach to data memory prefetching which augments the standard prefetch buffer with selection criteria based on performance and usage pattern of a given instruction. This approach is built on top of a pattern matching based prefetcher, specifically one which can choose between a stream, a stride, or a stream followed by a stride. We track the most recently called instructions to ...
متن کاملEnhancement for Accurate Stream Prefetching
One fundamental approach to improve memory hierarchy performance is to prefetch the needed instructions and data before their usage when cache capacity is limited. A stream prefetcher captures a sequence of nearby misses when their addresses follow the same positive or negative direction in a small memory region [17]. Once a stream of cache misses is identified, the prefetcher prefetches consec...
متن کاملAccess Map Pattern Matching for High Performance Data Cache Prefetch
Hardware data prefetching is widely adopted to hide long memory latency. A hardware data prefetcher predicts the memory address that will be accessed in the near future and fetches the data at the predicted address into the cache memory in advance. To detect memory access patterns such as a constant stride, most existing prefetchers use differences between addresses in a sequence of memory acce...
متن کامل